Node.js Application Deploy করার পদ্ধতি (Heroku, AWS)

Computer Programming - নোড জেএস (Node.js) - Deployment এবং Scaling (ডিপ্লয়মেন্ট এবং স্কেলিং)
257

Node.js অ্যাপ্লিকেশন ডিপ্লয় করার জন্য বেশ কিছু জনপ্রিয় প্ল্যাটফর্ম রয়েছে, যার মধ্যে Heroku এবং AWS অন্যতম। এখানে আমরা Heroku এবং AWS (EC2) ব্যবহার করে Node.js অ্যাপ্লিকেশন ডিপ্লয় করার দুটি পদ্ধতি বিস্তারিতভাবে আলোচনা করবো।


১. Heroku তে Node.js অ্যাপ্লিকেশন ডিপ্লয় করা

Heroku একটি ক্লাউড প্ল্যাটফর্ম যা সহজেই অ্যাপ্লিকেশন ডিপ্লয়, ম্যানেজ এবং স্কেল করার সুবিধা দেয়। এটি Platform-as-a-Service (PaaS) ভিত্তিক এবং Node.js সহ বেশ কিছু প্রোগ্রামিং ভাষা সমর্থন করে।

পদক্ষেপ ১: Heroku CLI ইনস্টল করা

Heroku CLI (Command Line Interface) ব্যবহার করে আপনি আপনার অ্যাপ্লিকেশন ডিপ্লয় করতে পারেন। প্রথমে, Heroku CLI ডাউনলোড এবং ইনস্টল করুন।

পদক্ষেপ ২: Heroku অ্যাকাউন্ট তৈরি করা

  1. Heroku অ্যাকাউন্টে সাইন আপ করুন, যদি আপনার অ্যাকাউন্ট না থাকে।
  2. লগ ইন করার জন্য CLI তে নিচের কমান্ডটি ব্যবহার করুন:

    heroku login

পদক্ষেপ ৩: Node.js অ্যাপ্লিকেশন প্রস্তুত করা

  1. আপনার Node.js অ্যাপ্লিকেশন ফোল্ডারে যান এবং নিশ্চিত করুন যে package.json ফাইল রয়েছে এবং এটি সঠিকভাবে কনফিগার করা।
  2. একটি Procfile ফাইল তৈরি করুন (যা Heroku কে জানায় যে অ্যাপ্লিকেশনটি কীভাবে চালাতে হবে):

    web: node app.js

পদক্ষেপ ৪: Git রেপোজিটরি তৈরি করা

Heroku Git ব্যবহার করে অ্যাপ্লিকেশন ডিপ্লয় করে। তাই আপনাকে প্রথমে আপনার অ্যাপ্লিকেশন গিট রেপোজিটরি হিসাবে ইনিশিয়ালাইজ করতে হবে।

  1. গিট ইনিশিয়ালাইজ করা:

    git init
  2. ফাইল গুলি যোগ করা:

    git add .
  3. প্রথম কমিট করা:

    git commit -m "Initial commit"

পদক্ষেপ ৫: Heroku অ্যাপ তৈরি করা

Heroku তে নতুন অ্যাপ তৈরি করতে:

heroku create my-node-app

এটি আপনার অ্যাপ্লিকেশনের জন্য একটি নতুন Heroku অ্যাপ তৈরি করবে এবং একটি নতুন গিট রিমোট heroku যুক্ত করবে।

পদক্ষেপ ৬: অ্যাপ্লিকেশন ডিপ্লয় করা

ডিপ্লয় করতে, গিট রেপোজিটরি পুশ করুন:

git push heroku master

পদক্ষেপ ৭: অ্যাপ্লিকেশন দেখতে

ডিপ্লয়ের পর, আপনার অ্যাপ্লিকেশনকে দেখতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:

heroku open

এটি আপনার ডিফল্ট ব্রাউজারে অ্যাপ্লিকেশন খুলবে।


২. AWS EC2 তে Node.js অ্যাপ্লিকেশন ডিপ্লয় করা

AWS EC2 (Elastic Compute Cloud) হল Amazon এর একটি ক্লাউড সেবা, যা আপনাকে ভার্চুয়াল মেশিন (ভিএম) প্রভৃতি ভার্চুয়াল সার্ভিস প্রদান করে। Node.js অ্যাপ্লিকেশন ডিপ্লয় করার জন্য AWS EC2 একটি শক্তিশালী প্ল্যাটফর্ম।

পদক্ষেপ ১: AWS অ্যাকাউন্ট তৈরি করা

প্রথমে AWS অ্যাকাউন্ট তৈরি করুন। এরপর EC2 সার্ভিসে যান।

পদক্ষেপ ২: EC2 ইন্সট্যান্স তৈরি করা

  1. EC2 ড্যাশবোর্ড থেকে Launch Instance বাটন টিপুন।
  2. একটি ইন্সট্যান্স নির্বাচন করুন (যেমন Amazon Linux 2 বা Ubuntu)।
  3. আপনার প্রয়োজনীয় কনফিগারেশন নির্বাচন করুন এবং ইন্সট্যান্সটি চালু করুন।
  4. একটি নতুন Key Pair তৈরি করুন এবং ডাউনলোড করুন, যাতে আপনি SSH এর মাধ্যমে ইন্সট্যান্সে লগ ইন করতে পারেন।

পদক্ষেপ ৩: EC2 ইন্সট্যান্সে SSH মাধ্যমে কানেক্ট করা

আপনার ইন্সট্যান্সে SSH মাধ্যমে কানেক্ট হতে:

ssh -i /path/to/your-key.pem ec2-user@your-ec2-public-ip

এখানে /path/to/your-key.pem হল আপনার SSH কী ফাইলের পথ এবং your-ec2-public-ip হল EC2 ইন্সট্যান্সের পাবলিক আইপি অ্যাড্রেস।

পদক্ষেপ ৪: Node.js এবং Nginx ইনস্টল করা

EC2 ইনস্ট্যান্সে Node.js এবং Nginx ইন্সটল করার জন্য নিম্নলিখিত কমান্ডগুলো চালান:

# Node.js ইনস্টল করা
curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash -
sudo yum install -y nodejs

# Nginx ইনস্টল করা
sudo amazon-linux-extras install nginx1.12
sudo service nginx start

পদক্ষেপ ৫: আপনার Node.js অ্যাপ্লিকেশন কপি করা

আপনার Node.js অ্যাপ্লিকেশনটি EC2 ইন্সট্যান্সে আপলোড করুন। আপনি scp (secure copy) ব্যবহার করতে পারেন:

scp -i /path/to/your-key.pem /path/to/your-app/* ec2-user@your-ec2-public-ip:/home/ec2-user/

পদক্ষেপ ৬: অ্যাপ্লিকেশন রান করা

EC2 তে অ্যাপ্লিকেশন রান করতে:

cd /home/ec2-user/your-app
npm install
node app.js

পদক্ষেপ ৭: Nginx কনফিগারেশন

Nginx এর মাধ্যমে আপনার অ্যাপ্লিকেশনকে রিভার্স প্রোক্সি করতে হবে যাতে এটি HTTP রিকোয়েস্ট গ্রহণ করতে পারে। /etc/nginx/nginx.conf ফাইলটি এডিট করুন এবং নিচের কনফিগারেশনটি যোগ করুন:

server {
    listen 80;
    server_name your-ec2-public-ip;

    location / {
        proxy_pass http://localhost:3000;  # Node.js অ্যাপ্লিকেশন চলমান যেখানে
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
}

নেক্সট, Nginx সার্ভিসটি রিস্টার্ট করুন:

sudo service nginx restart

পদক্ষেপ ৮: অ্যাপ্লিকেশন অ্যাক্সেস করা

এখন আপনি আপনার EC2 ইন্সট্যান্সের পাবলিক আইপি অ্যাড্রেস ব্যবহার করে ওয়েব ব্রাউজারে অ্যাপ্লিকেশন অ্যাক্সেস করতে পারবেন:

http://your-ec2-public-ip

সারাংশ

Heroku এবং AWS EC2 দুটি শক্তিশালী প্ল্যাটফর্ম যা Node.js অ্যাপ্লিকেশন ডিপ্লয় করতে সহায়তা করে। Heroku একটি সহজ, PaaS (Platform-as-a-Service) সলিউশন প্রদান করে, যা ডিপ্লয়মেন্ট এবং স্কেলিংকে সহজ করে তোলে, যেখানে AWS EC2 একটি IaaS (Infrastructure-as-a-Service) সলিউশন, যা আপনাকে ক্লাউডে ভিএম চালানোর পূর্ণ নিয়ন্ত্রণ দেয়। Heroku তে ডিপ্লয় করা সহজ, তবে AWS EC2 তে আরও কাস্টমাইজেশন এবং স্কেলিং সুবিধা পাওয়া যায়।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...